The present embodiments relate to data management. More specifically, the embodiments relate to management of metric data within a storage system.
Economies of scale, agility, availability, and on-demand pricing models have enabled a variety of application deployment models, suiting different needs of different organizations. Applications commonly span across on-premises, public cloud, and private cloud, either directly or indirectly through platforms they operate on or services they consume. Shared services and infrastructures that back applications are commonly managed by multiple Infrastructure as a Service (IaaS) providers and/or Platform as a Service (PaaS) providers, depending on the type of deployment. From the perspective of the application, this distributed and shared resource model necessitates monitoring of application resource usage to ensure proper support and performance tuning of the application(s). Several solutions exist to support the resource model monitoring. One such solution includes a system that polls the status of a monitored target. Another solution employs data collectors and maintains or manually re-configures application resource assignment. However, these solutions do not account for recycling monitoring tools and facilities that have already been deployed by associating the deployed tools for new applications. More specifically, the solutions that are known and employed are static and are not designed to dynamically accommodate expansion of one or more deployed applications, including scalability with respect to a new application.
Service level agreements (SLAs) are typically composed of multiple metrics combined together based on client specific definitions. SLAs monitor or visualize a specific aspect of business value. Based on client needs, different temporal dimensions can be specified (e.g., availability over last 30 days (moving average), over the past year, etc.). Monitoring SLAs for environments entails collecting vast amounts of metric data streams for aggregation and evaluation against service level objectives (SLOs). In one embodiment, the SLO is a key element of a SLA between a service provider and a customer. SLOs measure the performance of the service provider, and in one embodiment, function as a tool to avoid disputes between the provider and the customer. For computational purposes, it is beneficial for the metric data to accessible in a “fast” storage medium (e.g. flash storage), which may be financially expensive. After aging and no longer having immediate need, the metric data can be moved to less expensive storage, such as disk-based object storage. If data becomes relevant again, it must be moved from the persistent storage back to the fast storage medium. Cost pressures while designing monitoring/management solutions are typically much higher than other services as these costs cannot be transitioned to customers and are typically the responsibility of service providers. Accordingly, tiered storage techniques, which are techniques for assigning different categories of data to different storage media, have become even more crucial for such solutions.